// Protocol constants

pub const PROTOCOL_VERSION: u8 = 2;

// URL constants
pub const URL_SCHEME: &str = "https";
pub const URL_HOST: &str = "hysteria";
pub const URL_PATH: &str = "/auth";

// Status codes
pub const STATUS_AUTH_OK: u16 = 233;
pub const STATUS_AUTH_FAILED: u16 = 401;

// Request IDs
pub const TCP_REQUEST_ID: u64 = 0x401;
pub const UDP_REQUEST_ID: u64 = 0x402;

// Timeouts
pub const DEFAULT_HANDSHAKE_TIMEOUT_SECS: u64 = 10;
pub const DEFAULT_IDLE_TIMEOUT_SECS: u64 = 60;
pub const DEFAULT_UDP_IDLE_TIMEOUT_SECS: u64 = 60;

// Buffer sizes
pub const DEFAULT_BUFFER_SIZE: usize = 8192;
pub const MAX_PACKET_SIZE: usize = 65535;
pub const MAX_UDP_PAYLOAD_SIZE: usize = 1400;

// Congestion control
pub const DEFAULT_BANDWIDTH_UP: u64 = 100_000_000; // 100 Mbps
pub const DEFAULT_BANDWIDTH_DOWN: u64 = 100_000_000; // 100 Mbps

// Salamander
pub const SALAMANDER_SALT_SIZE: usize = 8;
pub const SALAMANDER_HASH_SIZE: usize = 64;
